To support the enhancements introduced by the USB 3.0 specification, a new generation of USB 3.0 host controllers is required. While multiple USB 3.0 host controller implementations are possible, many of the major controllers released to date are compatible with the eXtensible Host Controller Interface (xHCI) specification.
Key motivations for adopting new host controllers such as xHCI include:
-
Unified speed support
Combining legacy USB 2.0 low-speed (LS), full-speed (FS), and high-speed (HS) transactions with USB 3.0 SuperSpeed (SS) transactions. This is essential for handling high-bandwidth bulk streaming transfers to large-capacity mass storage devices. -
Improved power efficiency
Enhanced power management at both the bus/device and platform levels, which is increasingly important given the rapid growth of mobile and embedded battery-powered platforms. -
Optional virtualization support
Modern platforms often run multiple operating systems within virtual machine (VM) environments. Host controllers may leverage the PCI Express Single-Root I/O Virtualization (SR-IOV) model and incorporate hardware-level support to reduce the software overhead on virtual machines.